System and computer-readable medium for ordering on-screen windows for display field of the invention

ABSTRACT

A system for ordering on-screen windows for display is disclosed in which an active window partially overlaps an inactive window and hides a portion of the inactive window. The movement of a mouse pointer is monitored to determine its location on the screen. In response to the inactive window being selected with the mouse pointer, the inactive window is given focus to enable the inactive window to receive event signals even though a portion of the inactive window remains hidden, whereby original display depths of the windows is maintained.

CROSS-REFERENCE TO RELATED APPLICATIONS

Under 35 USC §120, this application is a continuation application andclaims the benefit of priority to U.S. patent application Ser. No.10/464,900, filed Jun. 19, 2003, entitled “METHOD FOR ORDERING ON-SCREENWINDOWS FOR DISPLAY”, all of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

Almost all of today's personal computers are controlled by operatingsystems that have a window-based user interface. Most of these operatingsystems are capable of multitasking in which multiple programs executesimultaneously, and each program displays a window on a display screenfor user interaction. The ability to resize application windows andchange style and size of fonts are the significant advantages of a GUIversus a character-based interface. Window-based GUIs have become thestandard way users interact with computers, and the major GUIs includeWindows™ and Mac™ along with Motif for UNIX and the GNOME and KDEinterfaces for Linux.

FIG. 1 is a block diagram illustrating a conventional computer systemwith a window-based user interface. As is well known, a typical personalcomputer (PC) system 10 includes a microprocessor and memory (not shown)for executing computer programs, various input devices, e.g., keyboard12 and 5 mouse 14, and a display screen 16.

Depending on the number of computer programs running, the display screen16 may display any number of open windows 18 a and 18 b (collectivelyreferred to as windows 18), each awaiting user input. Example types ofcomputer programs include spreadsheets, word processors, and Webbrowsers.

Depending on the arrangement and number of windows 18 displayed, it iscommon for the windows 18 to overlap so that some windows 18 partiallyor completely obscure other windows 18. To manage the display of windows18, the operating system typically views the windows 18 as a stack andmaintains an ordering of the windows 18 with respect to display depth.

The mouse 14, or other type of input device, may be used to move a mousepointer 20 among the various windows 18. The user typically activates aparticular window 18 by clicking the mouse pointer 20 anywhere on thewindow 18. When a window 18 is activated, Le., becomes the active window18 a, it is displayed in its entirety on top of all other windows 18 band is the only window that can receive user input. The user typicallyinteracts with the active window 18 a by selecting or entering data inthe window 18, or by selecting menu functions associated with the window18.

Although windows 18 can be moved to open areas of the screen and/orresized, the current window management schema makes it difficult foruser to juggle more than a very few windows 18 at a time withoutobscuring other windows 18 that are being used. When one window 18 athat the user wishes to interact with is obscured by another, the usermust take extra steps to return the window 18 b to the forefront. Thiscan be terribly annoying at times, particularly as the number of windows18 being juggled increases.

One attempted solution to this problem is disclosed in U.S. Pat. No.5,046,001, which describes a method for accessing selected windows in amultitasking system. In this method, user inputs are monitored todetermine the position of a cursor, and as the cursor passes over eachwindow, the window is automatically promoted to the top display positionand made active. The problem this method, however, is that the user canquickly lose control of which windows are promoted to the top of thedisplay. Consider for example, the situation where there are many tiledwindows displayed and the user needs to move the cursor to the side ofthe display screen 16 to select a program icon. Assuming that the cursorpasses over each of the tiled windows on its way to the icon, each ofthe windows would pop to the top of the display in quick successionwhether the user wanted them to or not. Rearranging the depth order ofthe windows in this fashion without user consent could be distractingand annoying to the user in certain situations.

Accordingly, what is needed is an improved system for ordering on-screenwindows. The system should retain the original depth ordering of thewindows, but also allow inactive windows to be used as though they wereactive. The present invention addresses such a need.

SUMMARY OF THE INVENTION

The present invention provides a system for ordering onscreen windowsfor display in which an active window partially overlaps an inactivewindow and hides a portion of the inactive window. The movement of amouse pointer is monitored to determine its location on the screen. Inresponse to the inactive window being selected with the mouse pointer,the inactive window is given focus to enable the inactive window toreceive event signals even though a portion of the inactive windowremains hidden.

According to the system disclosed herein, the present invention enablesa user to interact with inactive windows as though they were activewithout upsetting the original display depths of the windows. Inaddition, the user must physically select an inactive window to provideit focus before hidden parts of the inactive window can be made toappear, thereby overcoming the problems inherent in automaticallybringing to the forefront any window that the mouse pointer passes over.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a conventional computers systemhaving a window-based user interface.

FIG. 2 is a flow chart illustrating a process for intelligently orderingonscreen windows for display in accordance with a preferred embodimentof the present invention.

FIG. 3 is a block diagram showing two open windows displayed on thescreen.

FIG. 4 is a block diagram showing an inactive window being made theactive window and brought to the forefront of the screen.

FIG. 5 is a block diagram illustrating the screen once the inactivewindow is given focus.

FIG. 6 is a block diagram illustrating the screen showing the oncehidden portion of the inactive window being displayed in response tomovement of the mouse pointer when the window has focus.

FIGS. 7A and 78 are block diagrams illustrating the process ofdisplaying hidden portions of the inactive window when one or moreintervening windows are displayed between the active window and inactivewindow.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to a system for managing the display ofwindows in a window-based computer system. The following description ispresented to enable one of ordinary skill in the art to make and use theinvention and is provided in the context of a patent application and itsrequirements.

Various modifications to the preferred embodiments and the genericprinciples and features described herein will be readily apparent tothose skilled in the art. Thus, the present invention is not intended tobe limited to the embodiments shown, but is to be accorded the widestscope consistent with the principles and features described herein.

The present invention provides an improved system for managingwindowbased environments that reduces the need for a user to mandate theposition, dimensions, layered depth (i.e., the number of windows that aparticular window is from being in the forefront, or the number ofwindows away that the particular window is from being the activewindow), and maximized/minimized status. The present inventionaccomplishes its objectives by changing what occurs when an inactivewindow is clicked, and how the window then behaves when the window isnot in the forefront.

The present invention provides a mechanism that allows the user tointeract with an inactive window as though the window was at theforefront without changing the relative display depths the windows. Thismechanism is referred to as giving an inactive window focus and operatesas follows. When the user moves the mouse pointer over an inactivewindow and clicks on a visible portion of the inactive window, theinactive window is given focus, meaning that the window receives evensignals, even though the window is not the “active” window and displayedin the forefront. Once the window is given focus and the user passes thecursor over a hidden portion of the inactive window, the hidden portionof the inactive window is temporarily revealed on the display for userinteraction. Once the user moves the cursor away this revealed portionof the window, that portion of the window returns to its hidden state.If the cursor is removed from within the boundaries of the inactivewindow, focus is automatically returned to the active window.

Thus, because the present invention requires the user to physicallyselect an inactive window before focus is given to that window, thepresent invention does not suffer the problem of the method thatautomatically brings a window to the forefront when the mouse pointer ispassed over the window. And because the window with focus is notautomatically displayed in the forefront and its hidden portions areonly temporarily revealed during a mouse pointer pass over, the presentinvention does not permanently change the relative display depths of thewindows.

FIG. 2 is a flow chart illustrating a process for intelligently orderingonscreen windows for display in accordance with a preferred embodimentof the present invention. The process will be explained at a base levelwhere there is at least two open windows displayed on the screen 16, asshown in FIG. 3, which shows an active window 22 partially overlappingan inactive window 24 so that a portion 26 of the inactive window 24 ishidden by the active window 22.

Referring to both FIGS. 2 and 3, the process begins in step 50 bymonitoring the movement of the mouse pointer 20 across the screen 16until the mouse pointer 20 is positioned over anyone of the openwindows. It is then determined in step 52 if the mouse pointer 20 isover the active window 22. If so, no change is made in step 54. In step56, it is determined if the cursor is positioned over any inactivewindow 24. If yes, then it is determined in step 58 whether the user hasselected the inactive window 24. In a preferred embodiment, the userselects an inactive window 24 by clicking with the mouse 14 when thepointer 20 is over the window According to the present invention, whenthe user selects an inactive window 24 it must be determined whether theuser wishes to make the inactive window 24 the active window, or rathergive the inactive window focus so that it can receive user input, whilethe original depth ordering is maintained. In a preferred embodiment,the distinction is made in step 60 by determining whether the userselects the title bar of the inactive window 24, or instead selects anyvisible portion of the inactive window 24.

If the user has selected the title bar, typically by clicking on it,then the inactive window 24 is made the active window in step 62 andbrought to the forefront of the screen, as shown in FIG. 4.

Referring again to FIG. 2, if the user has clicked on any visibleportion of the inactive window 24, then in step 64, the inactive window24 is given focus. FIG. 5 is a block diagram illustrating the screen 16once the inactive window 24 is given focus. When the window 24 is givenfocus, the mouse pointer 20 and/or a cursor 28 are displayed in thewindow 24 and the window 24 receives all events signals from the userinput devices, but the depth ordering of the windows remain unchanged sothat some portions 26 of the inactive window 24 remain hidden.

Referring again to FIG. 2, once the window 24 is given focus, it isdetermined in step 66 whether the mouse pointer 20 is moved over ahidden portion 26 of the window 24. If the mouse pointer 20 has beenmoved over the hidden portion 26, then in step 68 the hidden portion 26is revealed on the screen.

FIG. 6 is a block diagram illustrating the screen 16 showing the oncehidden portion 26 of window 24 being displayed in response to movementof the mouse pointer 20 when the window 24 has focus. Once displayed,the once hidden portion 26 of window 24 is also able to receive evensignals because all displayed areas of window 24 are given focus. Note,although the example shows all of window 24 being displayed, window 22remains the active window, which is typically indicated by displaying ahighlighted title bar in the active window 22 and displaying agrayed-out title bar in the inactive window 24. Referring again to FIG.2, if it is determined that the mouse pointer 20 is moved away from theportion 26 of the window 24 that would normally be hidden in step 70,then that portion 26 of the window 24 is returned to its hidden state instep 76, as shown in FIG. 5. If the mouse pointer 20 is not moved away,then step 70 is repeated to keep checking. If the mouse pointer 20 isnot moved over a hidden portion 26 in step 66, then in step 72 it isdetermined if the mouse pointer 20 is from within the boundaries of theinactive window 24. If yes, then in step 74, focus is automaticallyreturned to the active window 22 and the movement of the mouse pointer20 continues to be monitored. If the mouse pointer is not moved outsidethe boundaries of the inactive window 24, then the process continues bydetermining if the cursor passes over a hidden portion 26 of theinactive window 24 in step 66.

FIGS. 7A and 78 are block diagrams illustrating the process ofdisplaying hidden portions of the inactive window 24 when one or moreintervening windows are displayed between the active window 22 andinactive window 26. FIG. 7A shows an intervening window 30 betweenactive window 22 and window 24, which currently has focus. The windowsare positioned such that window 30 hides a portion 32 of window 24 thatthe active window 22 does not. FIG. 78 shows that if the mouse pointer20 is moved to the portion 26 of the window 24 hidden by the activewindow 22, then only that hidden portion 26 of window 24 is displayed.The portion 32 hidden by window 30 remains hidden.

Should the mouse pointer 20 pass from portion 26 to portion 32, thenportion 26 would return to its hidden state, and portion 32 would bedisplayed. A system for ordering on-screen windows has been disclosed.The present invention has been described in accordance with theembodiments shown, and one of ordinary skill in the art will readilyrecognize that there could be variations to the embodiments, and anyvariations would be within the spirit and scope of the presentinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe appended claims.

1. A computer-readable medium containing computer program instructionsfor ordering on-screen windows for display, the computer programinstructions, when executed, performing the steps of: displaying anactive window and an inactive window on a display screen, the inactivewindow including a hidden portion and a visible portion, the activewindow overlapping all of the hidden portion of the inactive window andblocking all of the hidden portion of the inactive window from beingviewed by a user; monitoring movement of a pointer displayed on thedisplay screen, the movement of the pointer being controlled by the userthrough a pointing device; responsive to the user positioning thepointer over the visible portion of the inactive window and selectingthe visible portion of the inactive window by clicking a button on thepointing device, enabling the visible portion of the inactive window toreceive input from the user without changing a display depth of theinactive window relative to the active window, the pointer not beingpositioned over a title bar of the inactive window when the user selectsthe visible portion of the inactive window, the visible portion of theinactive window being enabled to receive input from the user while allof the hidden portion of the inactive window remains blocked from viewby the active window, invisible to the user, and unable to receive inputfrom the user; and, responsive to the visible portion of the inactivewindow being enabled to receive input from the user and responsive tothe user re-positioning the pointer over the hidden portion of theinactive window, revealing the hidden portion of the inactive windowsuch that all of the hidden portion of the inactive window is visible tothe user without changing the display depth of the inactive windowrelative to the active window, and enabling all of the hidden portion ofthe inactive window to receive input from the user, the hidden portionof the inactive window remaining visible and able to receive input fromthe user only while the pointer is positioned over the hidden portion ofthe inactive window.
 2. The medium of claim 1, wherein responsive to allof the hidden portion of the inactive window being revealed and enabledto receive input from the user, the method further comprises: responsiveto the user re-positioning the pointer outside the hidden portion of theinactive window, returning all of the hidden portion of the inactivewindow to a state in which the hidden portion of the inactive window isblocked from view by the active window, invisible to the user, andunable to receive input from the user.
 3. The medium of claim 1, whereinresponsive to the visible portion of the inactive window being enabledto receive input from the user, the method further comprises: responsiveto the user re-positioning the pointer outside the inactive window,disabling the visible portion of the inactive window from receivinginput from the user.
 4. The medium of claim 1, further comprising:displaying an intervening window on the display screen, the interveningwindow being displayed between the active window and the inactivewindow, overlapping all of a third portion of the inactive window, andblocking all of the third portion of the inactive window from beingviewed by the user, wherein the third portion of the inactive windowdoes not intersect the hidden portion of the inactive window, thevisible portion of the inactive window being enabled to receive inputfrom the user while all of the third portion of the inactive windowremains blocked from view by the intervening window, invisible to theuser, and unable to receive input from the user.
 5. The medium of claim4, wherein responsive to the visible portion of the inactive windowbeing enabled to receive input from the user, the method furthercomprises: responsive to the user re-positioning the pointer over thehidden portion of the inactive window, revealing the hidden portion ofthe inactive window such that all of the hidden portion of the inactivewindow is visible to the user, and enabling all of the hidden portion ofthe inactive window to receive input from the user, the hidden portionof the inactive window being revealed and enabled to receive input fromthe user while all of the third portion of the inactive window remainsblocked from view by the intervening window, invisible to the user, andunable to receive input from the user, the hidden portion of theinactive window remaining visible and able to receive input from theuser only while the pointer is positioned over the hidden portion of theinactive window; and responsive to the user re-positioning the pointerover the third portion of the inactive window, revealing the thirdportion of the inactive window such that all of the third portion of theinactive window is visible to the user, and enabling all of the thirdportion of the inactive window to receive input from the user, the thirdportion of the inactive window being revealed and enabled to receiveinput from the user while all of the hidden portion of the inactivewindow remains blocked from view by the active window, invisible to theuser, and unable to receive input from the user, the third portion ofthe inactive window remaining visible and able to receive input from theuser only while the pointer is positioned over the third portion of theinactive window.
 6. The medium of claim 5, wherein responsive to all ofthe hidden portion of the inactive window being revealed and enabled toreceive input from the user, the method further comprises: responsive tothe user re-positioning the pointer outside the hidden portion of theinactive window, returning all of the hidden portion of the inactivewindow to a state in which the hidden portion of the inactive window isblocked from view by the active window, invisible to the user, andunable to receive input from the user.
 7. The method of claim 5, whereinresponsive to all of the third portion of the inactive window beingrevealed and enabled to receive input from the user, the method furthercomprises: responsive to the user re-positioning the pointer outside thethird portion of the inactive window, returning all of the third portionof the inactive window to a state in which the third portion of theinactive window is blocked from view by the intervening window,invisible to the user, and unable to receive input from the user.
 8. Acomputer system for ordering on-screen windows for display, comprising:a display screen; a computer coupled to the display screen; and acomputer program for displaying multiple windows on the display screenin which an active window partially overlaps an inactive window andhides a portion of the inactive window, the computer program havinginstructions for: displaying an active window and an inactive window ona display screen, the inactive window including a hidden portion and avisible portion, the active window overlapping all of the hidden portionof the inactive window and blocking all of the hidden portion of theinactive window from being viewed by a user; monitoring movement of apointer displayed on the display screen, the movement of the pointerbeing controlled by the user through a pointing device; responsive tothe user positioning the pointer over the visible portion of theinactive window and selecting the visible portion of the inactive windowby clicking a button on the pointing device, enabling the visibleportion of the inactive window to receive input from the user withoutchanging a display depth of the inactive window relative to the activewindow, the pointer not being positioned over a title bar of theinactive window when the user selects the visible portion of theinactive window, the visible portion of the inactive window beingenabled to receive input from the user while all of the hidden portionof the inactive window remains blocked from view by the active window,invisible to the user, and unable to receive input from the user; and,responsive to the visible portion of the inactive window being enabledto receive input from the user and responsive to the user re-positioningthe pointer over the hidden portion of the inactive window, revealingthe hidden portion of the inactive window such that all of the hiddenportion of the inactive window is visible to the user without changingthe display depth of the inactive window relative to the active window,and enabling all of the hidden portion of the inactive window to receiveinput from the user, the hidden portion of the inactive window remainingvisible and able to receive input from the user only while the pointeris positioned over the hidden portion of the inactive window.
 9. Thesystem of claim 8, wherein responsive to all of the hidden portion ofthe inactive window being revealed and enabled to receive input from theuser, the method further comprises: responsive to the userre-positioning the pointer outside the hidden portion of the inactivewindow, returning all of the hidden portion of the inactive window to astate in which the hidden portion of the inactive window is blocked fromview by the active window, invisible to the user, and unable to receiveinput from the user.
 10. The system of claim 8, wherein responsive tothe visible portion of the inactive window being enabled to receiveinput from the user, the method further comprises: responsive to theuser re-positioning the pointer outside the inactive window, disablingthe visible portion of the inactive window from receiving input from theuser.
 11. The system of claim 8, further comprising: displaying anintervening window on the display screen, the intervening window beingdisplayed between the active window and the inactive window, overlappingall of a third portion of the inactive window, and blocking all of thethird portion of the inactive window from being viewed by the user,wherein the third portion of the inactive window does not intersect thehidden portion of the inactive window, the visible portion of theinactive window being enabled to receive input from the user while allof the third portion of the inactive window remains blocked from view bythe intervening window, invisible to the user, and unable to receiveinput from the user.
 12. The system of claim 11, wherein responsive tothe visible portion of the inactive window being enabled to receiveinput from the user, the method further comprises: responsive to theuser re-positioning the pointer over the hidden portion of the inactivewindow, revealing the hidden portion of the inactive window such thatall of the hidden portion of the inactive window is visible to the user,and enabling all of the hidden portion of the inactive window to receiveinput from the user, the hidden portion of the inactive window beingrevealed and enabled to receive input from the user while all of thethird portion of the inactive window remains blocked from view by theintervening window, invisible to the user, and unable to receive inputfrom the user, the hidden portion of the inactive window remainingvisible and able to receive input from the user only while the pointeris positioned over the hidden portion of the inactive window; andresponsive to the user re-positioning the pointer over the third portionof the inactive window, revealing the third portion of the inactivewindow such that all of the third portion of the inactive window isvisible to the user, and enabling all of the third portion of theinactive window to receive input from the user, the third portion of theinactive window being revealed and enabled to receive input from theuser while all of the hidden portion of the inactive window remainsblocked from view by the active window, invisible to the user, andunable to receive input from the user, the third portion of the inactivewindow remaining visible and able to receive input from the user onlywhile the pointer is positioned over the third portion of the inactivewindow.
 13. The system of claim 12, wherein responsive to all of thehidden portion of the inactive window being revealed and enabled toreceive input from the user, the method further comprises: responsive tothe user re-positioning the pointer outside the hidden portion of theinactive window, returning all of the hidden portion of the inactivewindow to a state in which the hidden portion of the inactive window isblocked from view by the active window, invisible to the user, andunable to receive input from the user.
 14. The system of claim 12,wherein responsive to all of the third portion of the inactive windowbeing revealed and enabled to receive input from the user, the methodfurther comprises: responsive to the user re-positioning the pointeroutside the third portion of the inactive window, returning all of thethird portion of the inactive window to a state in which the thirdportion of the inactive window is blocked from view by the interveningwindow, invisible to the user, and unable to receive input from theuser.
 15. A computer-readable medium containing computer programinstructions for ordering on-screen windows for display, the computerprogram instructions, when executed, performing the steps of: displayinga first window, a second window, and a third window on a display screen,the first window, the second window, and the third window having a depthordering on the display screen such that the first window is on top, thethird window is on bottom, and the second window is in between the firstwindow and the third window, the first window being on top in the depthordering on the display screen as the first window is an active window,a window on the display screen is made the active window in response toa user selecting a title bar of the window, only one window on thedisplay screen can be the active window at any point in time, the thirdwindow including a first portion, a second portion, a third portion, thefirst portion of the third window being visible to the user and unableto receive input from the user, the second portion of the third windowbeing blocked from view by the first window and unable to receive inputfrom the user, the third portion of the third window being blocked fromview by the second window and unable to receive input from the user, thefirst portion, the second portion, and the third portion of the thirdwindow excluding a title bar of the third window; monitoring movement ofa pointer displayed on the display screen, the movement of the pointerbeing controlled by the user through a pointing device; responsive tothe user positioning the pointer over the first portion of the thirdwindow and selecting the first portion of the third window by clicking abutton on the pointing device, enabling the first portion of the thirdwindow to receive input from the user without changing the depthordering of the first window, the second window, and the third window onthe display screen, the first portion of the third window being enabledto receive input from the user while the second portion of the thirdwindow remains blocked from view by the first window and unable toreceive input from the user, the first portion of the third window beingenabled to receive input from the user while the third portion of thethird window remains blocked from view by the second window and unableto receive input from the user; responsive to the first portion of thethird window being enabled to receive input from the user and the userre-positioning the pointer over the second portion of the third window,revealing the second portion of the third window such that the secondportion of the third window is visible to the user without changing thedepth ordering of the first window, the second window, and the thirdwindow on the display screen, and enabling the second portion of thethird window to receive input from the user, the second portion of thethird window being visible and enabled to receive input from the userwhile the third portion of the third window remains blocked from view bythe second window and unable to receive input from the user, the secondportion of the third window remaining visible and enabled to receiveinput from the user only while the pointer is positioned over the secondportion of the third window; responsive to the second portion of thethird window being visible and enabled to receive input from the userand the user re-positioning the pointer outside the second portion ofthe third window, returning the second portion of the third window to astate in which it is blocked from view by the first window and unable toreceive input from the user; responsive to the first portion of thethird window being enabled to receive input from the user and the userre-positioning the pointer over the third portion of the third window,revealing the third portion of the third window such that the thirdportion of the third window is visible to the user without changing thedepth ordering of the first window, the second window, and the thirdwindow on the display screen, and enabling the third portion of thethird window to receive input from the user, the third portion of thethird window being visible and enabled to receive input from the userwhile the second portion of the third window remains blocked from viewby the first window and unable to receive input from the user, the thirdportion of the third window remaining visible and enabled to receiveinput from the user only while the pointer is positioned over the thirdportion of the third window; responsive to the third portion of thethird window being visible and enabled to receive input from the userand the user re-positioning the pointer outside the third portion of thethird window, returning the third portion of the third window to a statein which it is blocked from view by the second window and unable toreceive input from the user; responsive to the first portion of thethird window being enabled to receive input from the user and the userre-positioning the pointer outside the third window, returning the firstportion of the third window to a state in which it is unable to receiveinput from the user.
 16. The medium of claim 15, wherein responsive tothe user positioning the pointer over the title bar of the third windowand selecting the title bar of the third window by clicking the buttonon the pointing device, the method further comprises: making the thirdwindow the active window on the display screen; and changing the depthordering on the display screen such that the third window is on top, thesecond window is on bottom, and the first window is in between the thirdwindow and the second window.
 17. A computer system for orderingon-screen windows for display, comprising: a display screen; a computercoupled to the display screen; and a computer program for displayingmultiple windows on the display screen in which an active windowpartially overlaps an inactive window and hides a portion of theinactive window, the computer program having instructions for:displaying a first window, a second window, and a third window on adisplay screen, the first window, the second window, and the thirdwindow having a depth ordering on the display screen such that the firstwindow is on top, the third window is on bottom, and the second windowis in between the first window and the third window, the first windowbeing on top in the depth ordering on the display screen as the firstwindow is an active window, a window on the display screen is made theactive window in response to a user selecting a title bar of the window,only one window on the display screen can be the active window at anypoint in time, the third window including a first portion, a secondportion, a third portion, the first portion of the third window beingvisible to the user and unable to receive input from the user, thesecond portion of the third window being blocked from view by the firstwindow and unable to receive input from the user, the third portion ofthe third window being blocked from view by the second window and unableto receive input from the user, the first portion, the second portion,and the third portion of the third window excluding a title bar of thethird window; monitoring movement of a pointer displayed on the displayscreen, the movement of the pointer being controlled by the user througha pointing device; responsive to the user positioning the pointer overthe first portion of the third window and selecting the first portion ofthe third window by clicking a button on the pointing device, enablingthe first portion of the third window to receive input from the userwithout changing the depth ordering of the first window, the secondwindow, and the third window on the display screen, the first portion ofthe third window being enabled to receive input from the user while thesecond portion of the third window remains blocked from view by thefirst window and unable to receive input from the user, the firstportion of the third window being enabled to receive input from the userwhile the third portion of the third window remains blocked from view bythe second window and unable to receive input from the user; responsiveto the first portion of the third window being enabled to receive inputfrom the user and the user re-positioning the pointer over the secondportion of the third window, revealing the second portion of the thirdwindow such that the second portion of the third window is visible tothe user without changing the depth ordering of the first window, thesecond window, and the third window on the display screen, and enablingthe second portion of the third window to receive input from the user,the second portion of the third window being visible and enabled toreceive input from the user while the third portion of the third windowremains blocked from view by the second window and unable to receiveinput from the user, the second portion of the third window remainingvisible and enabled to receive input from the user only while thepointer is positioned over the second portion of the third window;responsive to the second portion of the third window being visible andenabled to receive input from the user and the user re-positioning thepointer outside the second portion of the third window, returning thesecond portion of the third window to a state in which it is blockedfrom view by the first window and unable to receive input from the user;responsive to the first portion of the third window being enabled toreceive input from the user and the user re-positioning the pointer overthe third portion of the third window, revealing the third portion ofthe third window such that the third portion of the third window isvisible to the user without changing the depth ordering of the firstwindow, the second window, and the third window on the display screen,and enabling the third portion of the third window to receive input fromthe user, the third portion of the third window being visible andenabled to receive input from the user while the second portion of thethird window remains blocked from view by the first window and unable toreceive input from the user, the third portion of the third windowremaining visible and enabled to receive input from the user only whilethe pointer is positioned over the third portion of the third window;responsive to the third portion of the third window being visible andenabled to receive input from the user and the user re-positioning thepointer outside the third portion of the third window, returning thethird portion of the third window to a state in which it is blocked fromview by the second window and unable to receive input from the user;responsive to the first portion of the third window being enabled toreceive input from the user and the user re-positioning the pointeroutside the third window, returning the first portion of the thirdwindow to a state in which it is unable to receive input from the user.18. The system of claim 17, wherein responsive to the user positioningthe pointer over the title bar of the third window and selecting thetitle bar of the third window by clicking the button on the pointingdevice, the method further comprises: making the third window the activewindow on the display screen; and changing the depth ordering on thedisplay screen such that the third window is on top, the second windowis on bottom, and the first window is in between the third window andthe second window.